﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Domain.Model.Infractores;
using Domain.Model.LicenciasDeConduccion;
using Domain.Model.Direcciones;

namespace Domain.Model.Services
{
    /// Define las operaciones de un servicio de Infractor
    public interface IInfractorService
    {
        Infractor InfractorFromId(string InfractorId);

        InfractorId CreateInfractor(
            String numIdentificacion,
            String nombres,
            String apellidos,
            String tipoIdentificacion,
            LicenciaConduccion licenciaDeConduccion,
            Direccion direccion);

        InfractorId EditInfractor(
            InfractorId InfractorId,
            String numIdentificacion,
            String nombres,
            String apellidos,
            String tipoIdentificacion,
            LicenciaConduccion licenciaDeConduccion,
            Direccion direccion);

        List<Infractor> All();
        void RemoveInfractor(InfractorId InfractorId);
    }
}
